var _ = new Object();
module.exports = Object.assign(_, {
  extend(o, v, s) {
    if (!s) return o = Object.assign(o, v);

    for (var key in s) {
      if (v[key])
        o[key] = v[key];
      else if (s[key].hasOwnProperty('default')) {
        if (typeof s[key].default == 'function')
          o[key] = s[key].default();
        else o[key] = s[key].default;
      }
    }

    return o;
  },
});
